// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Пин Ап Онлайн Казино Официальный Сайт в России и странах СНГ – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Пин Ап Онлайн Казино Официальный Сайт в России и странах СНГ

В современном мире интернета и онлайн-игр, казино стали одним из самых популярных развлечений для миллионов людей по всему миру. Пин Ап Онлайн Казино – это официальный сайт, который предлагает игрокам из России и стран СНГ возможность играть в онлайн-казино и выиграть большие суммы денег.

Пин Ап Онлайн Казино – это платформа, которая была создана для обеспечения безопасности и комфорта игрокам. Мы предлагаем широкий спектр игр, включая слоты, карточные игры, рулетку и другие, чтобы нашим игрокам было легко найти игру, которая им понравится.

Наш официальный сайт Пин Ап Онлайн Казино – это место, где игроки могут играть в онлайн-казино и выиграть большие суммы денег. Мы предлагаем различные бонусы и акции, чтобы наши игроки могли начать играть и выиграть уже с первого раза.

Пин Ап Онлайн Казино – это официальный сайт, который предлагает игрокам из России и стран СНГ возможность играть в онлайн-казино и выиграть большие суммы денег.

Наш сайт Пин Ап Онлайн пинко казино кз Казино – это место, где игроки могут играть в онлайн-казино и выиграть большие суммы денег. Мы предлагаем различные бонусы и акции, чтобы наши игроки могли начать играть и выиграть уже с первого раза.

Если вы ищете официальный сайт, где можно играть в онлайн-казино и выиграть большие суммы денег, то вы нашли его. Пин Ап Онлайн Казино – это официальный сайт, который предлагает игрокам из России и стран СНГ возможность играть в онлайн-казино и выиграть большие суммы денег.

Пин Ап Онлайн Казино: Официальный Сайт в России и странах СНГ

Преимущества официального сайта Pin Up Online Casino

Официальный сайт Pin Up Online Casino предлагает игрокам из России и стран СНГ несколько преимуществ, которые делают его популярным среди игроков. В частности, на официальном сайте Pin Up Online Casino доступны:

большой выбор игр

На официальном сайте Pin Up Online Casino доступно более 3 000 игр, включая слоты, карточные игры, рулетку и другие. Это позволяет игрокам из России и стран СНГ выбрать игру, которая им понравится.

безопасность и конфиденциальность

Официальный сайт Pin Up Online Casino обеспечивает безопасность и конфиденциальность игроков, используя современные технологии шифрования и защищенные соединения.

многоязычный интерфейс

Официальный сайт Pin Up Online Casino доступен на нескольких языках, включая русский, что делает его доступным для игроков из России и стран СНГ.

Как начать играть на официальном сайте Pin Up Online Casino

Начать играть на официальном сайте Pin Up Online Casino можно следующим образом:

1. Перейти на официальный сайт Pin Up Online Casino.

2. Создать аккаунт, указав свои личные данные.

3. Выбрать игру, которая вам понравится.

4. Начать играть, используя деньги из вашего счета.

Официальный сайт Pin Up Online Casino – это лучший выбор для игроков из России и стран СНГ, которые ищут безопасный и надежный онлайн-казино. Мы рекомендуем вам начать играть на этом сайте и насладиться играми!

Пин Ап Онлайн Казино: Официальный Сайт в России и странах СНГ

Пин Ап Онлайн Казино – это популярная онлайн-игровая платформа, которая предлагает игрокам из России и стран СНГ широкий спектр игр, включая слоты, карточные игры, рулетку и другие. Официальный сайт Pin Up Casino – это место, где игроки могут найти все, что нужно для комфортной и безопасной игры.

Преимущества игры на официальном сайте Pin Up Casino

Бесплатные бонусы и спины для новых игроков

Возможность играть на реальные деньги

Широкий спектр игр от ведущих разработчиков

Безопасность и конфиденциальность игроков

24/7 поддержка клиентов

Игра
Описание

Слоты Винтажные слоты, 3D-слоты, прогрессивные слоты и другие Карточные игры Блэкджек, покер, бинго и другие Рулетка Классическая рулетка, рулетка с живыми дилерами и другие

Как начать играть на официальном сайте Pin Up Casino

Зарегистрируйте аккаунт на официальном сайте Pin Up Casino

Внесите депозит и получите бонусы

Выберите игру, которая вам понравилась

Начните играть и получайте выигрыши

Пин Ап Онлайн Казино – это лучший выбор для игроков из России и стран СНГ, которые ищут комфортную и безопасную игру. Официальный сайт Pin Up Casino – это место, где игроки могут найти все, что нужно для успешной игры.

Официальный Сайт Pin Up: Как Зарегистрироваться и Начать Играть

Шаг 1: Зарегистрироваться

Для регистрации на официальном сайте Pin Up вам нужно выполнить несколько простых шагов. Вам нужно выбрать тип аккаунта (игрок или дилер) и ввести необходимые сведения, такие как имя, фамилия, адрес электронной почты и телефон.

Важно! Вам нужно указать действительный адрес электронной почты, иначе ваш аккаунт может быть заблокирован.

После регистрации вам будет отправлено письмо с подтверждением регистрации. Вам нужно открыть это письмо и подтвердить регистрацию.

Шаг 2: Открыть Счет

После регистрации вам нужно открыть счет, чтобы начать играть. Для этого вам нужно внести минимальную сумму, которая зависит от типа аккаунта (игрок или дилер).

Обратите внимание! Минимальная сумма для открытия счета может изменяться в зависимости от типа аккаунта и от страны, в которой вы регистрировались.

После открытия счета вы можете начать играть на официальном сайте Pin Up, выбрав из широкого спектра игр, доступных на сайте.

Pin Up – это безопасное и надежное онлайн-казино, которое предлагает игрокам из России и стран СНГ широкий спектр услуг и игр. Для начала играть на официальном сайте Pin Up, вам нужно зарегистрироваться и открыть счет.

Преимущества и Условия Игры в Pin Up Online Casino

Pin Up Online Casino – это популярное онлайн-казино, которое предлагает игрокам из России и стран СНГ широкий спектр игровых автоматов, рулеток, покера и других азартных игр. В этом разделе мы рассмотрим преимущества и условия игры в Pin Up Online Casino.

Преимущества Игры в Pin Up Online Casino

Уникальный дизайн и интерфейс: Pin Up Online Casino имеет современный и удобный дизайн, который позволяет игрокам легко найти нужную игру и начать играть.

Большой выбор игр: на сайте Pin Up Online Casino представлено более 3 000 игровых автоматов и других азартных игр, что обеспечивает игрокам широкие возможности для выбора.

Высокие ставки: Pin Up Online Casino предлагает высокие ставки, что позволяет игрокам получать большие выигры.

Многоязычность: сайт Pin Up Online Casino доступен на нескольких языках, включая русский, что облегчает игрокам из России и стран СНГ доступ к играм.

Безопасность: Pin Up Online Casino обеспечивает безопасность игроков, используя современные технологии шифрования и защищенные соединения.

Условия Игры в Pin Up Online Casino

Минимальный депозит: 1 000 рублей (или эквивалент в других валютах).

Минимальная ставка: 1 рубль (или эквивалент в других валютах).

Максимальная ставка: зависит от игры и валюты.

Время игры: 24 часа в сутки, 7 дней в неделю.

Методы оплаты: Pin Up Online Casino принимает различные методы оплаты, включая банковские карты, электронные деньги и другие.

Безопасность и Надежность Официального Сайта Pin Up

Безопасность и надежность – это два ключевых аспекта, которые должны быть обеспечены любым онлайн-казино, чтобы обеспечить комфорт и уверенность игроков. Pin Up Casino – это официальный сайт, который не оставляет игроков без присмотра, обеспечивая им безопасное и надежное игровое пространство.

  • Шифрование данных
  • Pin Up Casino использует шифрование данных, чтобы защитить личные данные игроков и обеспечить безопасность их транзакций. Это означает, что все данные, передаваемые между игроками и казино, защищены от доступа третьих лиц.

  • Лицензия
  • Pin Up Casino имеет официальную лицензию, выдана в соответствии с законодательством Malta, что является одним из самых строгих и надежных регуляторов в мире онлайн-казино.

  • Техническая поддержка
  • Pin Up Casino обеспечивает 24/7 техническую поддержку, чтобы помочь игрокам в случае возникновения каких-либо проблем или вопросов.

  • Проверка и тестирование
  • Pin Up Casino регулярно проверяет и тестировает свои игровые автоматы и другие игры, чтобы обеспечить их надежность и честность.

  • Защита от мошенников
  • Pin Up Casino имеет систему защиты от мошенников, которая помогает предотвратить любые мошеннические действия.

Pin Up Casino – это официальный сайт, который обеспечивает безопасное и надежное игровое пространство для игроков. Мы рекомендуем игрокам выбрать Pin Up Casino, чтобы обеспечить себе комфорт и уверенность в игре.

Design and Develop by Ovatheme